home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / um / include / shared / mconsole_kern.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  955 b   |  53 lines

  1. /*
  2.  * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
  3.  * Licensed under the GPL
  4.  */
  5.  
  6. #ifndef __MCONSOLE_KERN_H__
  7. #define __MCONSOLE_KERN_H__
  8.  
  9. #include "linux/list.h"
  10. #include "mconsole.h"
  11.  
  12. struct mconsole_entry {
  13.     struct list_head list;
  14.     struct mc_request request;
  15. };
  16.  
  17. /* All these methods are called in process context. */
  18. struct mc_device {
  19.     struct list_head list;
  20.     char *name;
  21.     int (*config)(char *, char **);
  22.     int (*get_config)(char *, char *, int, char **);
  23.     int (*id)(char **, int *, int *);
  24.     int (*remove)(int, char **);
  25. };
  26.  
  27. #define CONFIG_CHUNK(str, size, current, chunk, end) \
  28. do { \
  29.     current += strlen(chunk); \
  30.     if(current >= size) \
  31.         str = NULL; \
  32.     if(str != NULL){ \
  33.         strcpy(str, chunk); \
  34.         str += strlen(chunk); \
  35.     } \
  36.     if(end) \
  37.         current++; \
  38. } while(0)
  39.  
  40. #ifdef CONFIG_MCONSOLE
  41.  
  42. extern void mconsole_register_dev(struct mc_device *new);
  43.  
  44. #else
  45.  
  46. static inline void mconsole_register_dev(struct mc_device *new)
  47. {
  48. }
  49.  
  50. #endif
  51.  
  52. #endif
  53.